package com.southpark.system.interfaces.managers
{
	import com.southpark.system.interfaces.application.IBackground;
	import com.southpark.system.interfaces.info.ISystemErrorBox;
	
	public interface IApplicationManager
	{
		function get applicationName():String;
		function get buildVersion():String;
		function get configSettings():String;
		function get developerId():String;
		function get developerKey():String;
		
		function get background():IBackground;
		function get systemErrorBox():ISystemErrorBox;
		
		function get commandMap():Array;
		function get pageMap():Array;
		function get popUpMap():Array;
		function get assetMap():Array;
		
		function get isDebugMode():Boolean;
		function get isDeployedLocally():Boolean;
		
		function get defaultPageClass():Class;
		
		function get model():Object;
		function get services():Object;
		
		function get assetManager():IAssetManager;
		function get cookieManager():ICookieManager;
		function get deepLinkingManager():IDeepLinkingManager;
		function get infoManager():IInfoManager;
		function get pageManager():IPageManager;
		function get popUpManager():IPopUpManager;
		function get textManager():ITextManager;
		function get toolTipManager():IToolTipManager;
		
		function addEventListener(type:String,listener:Function):void;
		function removeEventListener(type:String,listener:Function):void;
		
		function initialize():void;
		function debug(key:String,value:String,details:String):void;
	
		
	}
}